package com.example.myapplication.model;

/**
 * RPC请求数据模型
 * 用于设备控制命令
 */
public class RpcRequest {
    private String method;
    private Object params;

    public RpcRequest() {
    }

    public RpcRequest(String method, Object params) {
        this.method = method;
        this.params = params;
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    public Object getParams() {
        return params;
    }

    public void setParams(Object params) {
        this.params = params;
    }

    /**
     * 创建灯泡控制请求
     * @param isOn 灯泡状态：true=开启，false=关闭
     * @return RPC请求对象
     */
    public static RpcRequest createLampRequest(boolean isOn) {
        return new RpcRequest("setLamp", isOn);
    }

    /**
     * 创建加湿器控制请求
     * @param isOn 加湿器状态：true=开启，false=关闭
     * @return RPC请求对象
     */
    public static RpcRequest createHumidifierRequest(boolean isOn) {
        return new RpcRequest("setHumidifier", isOn);
    }

    /**
     * 创建报警器控制请求
     * @param isOn 报警器状态：true=开启，false=关闭
     * @return RPC请求对象
     */
    public static RpcRequest createAlarmRequest(boolean isOn) {
        return new RpcRequest("setAlarm", isOn);
    }

    /**
     * 创建风扇控制请求
     * @param isOn 风扇状态：true=开启，false=关闭
     * @return RPC请求对象
     */
    public static RpcRequest createFanRequest(boolean isOn) {
        return new RpcRequest("setFan", isOn);
    }

    @Override
    public String toString() {
        return "RpcRequest{" +
                "method='" + method + '\'' +
                ", params=" + params +
                '}';
    }
}
